package prv.pursuivant.core;

import java.util.List;

/**
 * Abstract achievement type.
 * 
 * Achievement type means the class of achievement (like "The Immortal"), not
 * the instance (like "Kwinto achieved "The Immortal" on 08/03/2009").
 * 
 * @author Kwinto
 * @see prv.pursuivant.core.impl.AchievementImpl
 */

public interface AchievType {

	/**
	 * @return the kind
	 */
	public Kind getKind();

	/**
	 * @return the name
	 */
	public String getName();

	/**
	 * NORMAL, META and CATEGORY have WoW internal ids. PARTITIONs have their
	 * parent ids + '.' + something. NPCs are alike, but their "something" are
	 * their exact name. OTHERs are subject for future use.
	 * 
	 * @return the id
	 */
	public String getId();

	/**
	 * @return the criteria
	 */
	public List<String> getCriteria();

}